#ifndef ARISTA_H
#define ARISTA_H

#include <QString>
#include "ente.h"
#include "segmento2d.h"

class Arista : public Ente
{
public:
    Arista();
    ~Arista();

    Arista(Punto2d p1, Punto2d p2);

    Arista(int x1, int y1, int x2, int y2);

    Arista(Segmento2d segmento);

    QString toString() {
        return nombre;
    }

    QString Arista::getNombre() {
        return nombre;
    }

    void setNombre(QString nombre) {
        this->nombre = nombre;
    }



//Color Arista::getColor() {
//    return color;
//}
//
//    void setColor(Color color) {
//        this->color = color;
//    }

    MaterialFisico getMaterial() const {
        return material;
    }

    void setMaterial(const MaterialFisico& material) {
        this->material = material;
    }

    Segmento2d getSegmento() const {
        return segmento;
    }

    void setSegmento(const Segmento2d& segmento) {
        this->segmento = segmento;
    }

    bool permiteIntrusion() {
        return permitirIntrusion;
    }

    void setPermitirIntrusion(bool permitirIntrusion) {
        this->permitirIntrusion = permitirIntrusion;
    }

    bool permiteTraspasar() { return permitirTraspasar; }

    void setPermitirTraspasar(bool permitirTraspasar) {
        this->permitirTraspasar = permitirTraspasar;
    }

private:
    Segmento2d segmento;
    QString nombre;
    //QColor color = Qt::white;
    bool permitirIntrusion;
    bool permitirTraspasar;
    MaterialFisico material;
    
};

#endif // ARISTA_H
